package co.gov.medellin.sdep.sisdep.model.dao.impl;

import org.springframework.transaction.PlatformTransactionManager;
//import org.springframework.transaction.TransactionDefinition;
//import org.springframework.transaction.TransactionStatus;
//import org.springframework.transaction.support.DefaultTransactionDefinition;

//import co.gov.medellin.sdep.sisdep.model.TipoInfraccion;
import co.gov.medellin.sdep.sisdep.model.dao.TipoInfraccionDAOImpl;

//import co.gov.medellin.sdep.sisdep.model.TipoInfraccion;

public class TipoInfraccionDAOTImpl extends TipoInfraccionDAOImpl implements ITipoInfraccionDAOT {

	/** manejador de transacciones para TipoInfraccionDAOTImpl */
	private PlatformTransactionManager transactionManager;
	/**
	 * constructor por defecto
	 */
	public TipoInfraccionDAOTImpl() {
	}

	/**
	 * metodo ejemplo manejo de transacciones
	 */
	//public int updateRecordWithLog(TipoInfraccion tipoInfraccion) {
	//	TransactionDefinition td = new DefaultTransactionDefinition();
	//	TransactionStatus status = getTransactionManager().getTransaction(td);
	//	try{
	//		llamado a metodos basicos en el DAO Base
	//		TipoInfraccionDAOImpl
	//		transactionManager.commit(status);
	//		
	//	}catch (Exception e){
	//		transactionManager.rollback(status);
	//		throw new RuntimeException(e);
	//	}
	//	return 0;
	//}

	/**
	 * retorna el transactionManager
	 * @return
	 */
	public PlatformTransactionManager getTransactionManager() {
		return transactionManager;
	}

	/**
	 * establece el transaction manager establecido en la configuracion
	 * @param transactionManager
	 */
	public void setTransactionManager(PlatformTransactionManager transactionManager) {
		this.transactionManager = transactionManager;
	}

}
